home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
COMMUNIC
/
0717.ZIP
/
MSKERM.BWR
< prev
next >
Wrap
Text File
|
1987-05-24
|
16KB
|
351 lines
BUGS, LIMITATIONS, INCOMPATIBILITES, AND NOTES ON MS-DOS KERMIT 2.29
Version 2.29 of MS-DOS was prepared by Prof. Joe R. Doupnik (JRD@USU.BITNET),
Center for Atmospheric and Space Studies, Utah State University, Logan, Utah
84322 USA, November 1985 - May 1986, based on version 2.28 from Columbia
University, which was prepared by Jeff Damens and Daphne Tzoar. Joe added his
own code for DOS 2.0 file system support, advanced server functions, myriad
cleanups and bug fixes, several new commands, and he integrated code from James
Harvey of Indiana/Purdue University for VT100 emulation, adding VT102
extensions and much more (like color support) to it in the process. Joe also
coordinated the prerelease testing of 2.29 on many different MS-DOS systems.
The script facility was a joint effort between Jim Sturdevant and Joe.
OUTSTANDING BUGS IN VERSION 2.29:
Those marked with "*" are fixed in version 2.29B, which is a test prerelease
of the next real release, 2.30. Bugs marked with "-" are as yet unfixed.
- Attempting to dump the screen to a disk file when the disk is full will
cause the system to hang (at least on Rainbow, not tested on PC).
- Local echo does not work on TI Pro.
- Sanyo MBC version doesn't work at 300 baud.
* Current packet number is not set back to 0 when a SEND or GET command
is issued to a remote Kermit server.
* Server mode does not always use the requested block-check type. RECEIVE
command uses requested-but-not-yet-negotiated block check when sending NAK
for packet 0.
* RECEIVE command fails if it follows a GET which ended with an error message.
* SET SEND END-OF-LINE has no effect when sending S-Packet.
* SET SEND PADDING and PADC have no effect on S or I packets.
* Occasional transmission of a null (ASCII 0) flow control character prevents
file transfer with certain half duplex systems (like IBM mainframes in
linemode).
* Hayes 1200B internal modem hangs up at inconvenient times (IBM PC).
* Certain other internal modems can't be used at all.
* Pressing PrintScreen on the Rainbow during CONNECT while in 132 column
mode produces garbage on the printer and eventually hangs the Rainbow. The
fix for this is written, but too long to include in .BWR file.
* Receive command fails if followed a Get which ended with an error message.
* Does not use user-sepcified EOL when sending S-packet.
* SET BAUD doesn't work on Wang PC.
* REMOTE KERMIT packet incorrectly constructed on Rainbow (but not IBM PC)
LIMITATIONS (those marked with "*" are lifted in 2.29B)
- Interaction between MS-Kermit and various terminate-and-stay-resident
(TSR) programs is necessarily unpredictable, but there will often be minor
problems. Certain console or graphics drivers might interfere with the file
transfer display, etc.
- The communication port uses either 8 data bits, no parity, or else 7 data
bits and 1 parity bit. No other combinations are supported.
- On the IBM PC or compatibles, MS-Kermit access the serial port hardware and
associated interrupts directly. This prevents its use with serial devices
accessed through NETBIOS or other mechanisms, e.g. the Token Ring
asynchronous communication server. (A separate version of MS-Kermit, called
MSVCLO, can be used for this -- it is identical to the IBM PC version, except
that it uses Bios calls for port i/o).
* Version 2.29 of MS-Kermit ran slowly during file transfer if TIMER ON,
and much faster if TIMER OFF. In version 2.29B the timer imposes no such
overhead.
- Kermit cannot be used to transfer files when the remote system is MS-DOS
that has been CTTY'd to the communication port. This is because of DOS
limitations. Use batch file to do: CTTY CON, KERMIT SERVER, CTTY COM1.
- System will hang if you run Kermit while CTTY'd to COMx and then CONNECT.
- When used in remote mode, even when not CTTY'd, e.g. as a server, MS-DOS
Kermit can become stuck in the DOS critical error handler, in which it has
issued its familiar "Abort, Ignore, Retry?" message on its screen, and is
waiting for a response from its own keyboard. This is a DOS feature.
* The MS-DOS Kermit server can become stuck if you give it the REMOTE SPACE
command, because it simply runs CHKDSK and sends you its output. Sometimes
CHKDSK will notice something wrong with the disk and ask you if you want it
to be fixed.
- The IBM PC implementation of VT102 emulation has several restrictions:
no 132-column mode, no smooth scroll, no ENQ/Answerback, no alternate
character ROMs, no confidence tests. Double height/width characters are
simulated.
- The IBM PC VT102 emulator does not fully support the EGA 43-line mode.
- On the IBM family, repeated SET MODE OFF, SET MODE ON sequences can produce a
permanent, normal-video mode line.
- On the IBM family, SET DEBUG ON not only selects packet display during file
transfer, but also control-character/escape-sequence display during
terminal emulation. There are no separate controls for these functions.
During terminal emulation SET DEBUG ON also prevents the emulator from acting
upon received escape sequences; that is, the emulation becomes a dumb tty,
and the escape sequences are printed.
- On the IBM PC, Kermit only knows how to use COM1 and COM2. Additional
ports do not have standard addresses.
- The SHOW command does not display all the SET parameters, as you might
expect. STATUS must be used to do that. SHOW is used for key and macro
definitions.
- There's no command to display the pathname of the current default disk
and directory, or the name of the log file.
- The LOG command, when used during file transfer in conjunction with SET DEBUG
ON, log reception beginning when a good start of packet character has
arrived. This tends to defeat the purpose of a debugging log, since there's
no way to find out why some packets were bad.
- On systems that use "grey keys" or F-keys for functions like BREAK, modeline
toggle, screen scroll, or emulator select/reset, there is no way to move
these functions to other keys. Therefore, if "traditional" (e.g. keypad)
values are to be assigned to these keys using SET KEY, their built-in Kermit
functions are lost (this will be corrected in 2.30).
- Certain keys on the IBM PC keyboard produce no scan code detectable by
Kermit, e.g. keypad 5, control-5, etc., and therefore cannot be redefined
with SET KEY SCAN. Additional keys on the new "enhanced" keyboard
(such as F11 and F12) are said to behave similarly.
- The screen dump feature currently is implemented on only the IBM, the
Olivetti M24/ATT 6300 and close relatives, and the Rainbow Kermits; other
versions produce only a beep. The dump file records only the screen text
and not the video attributes.
- The Server mode screen displays file transfer statistics unless SET REMOTE
ON or SET DISPLAY QUIET is specified.
- In VT102 emulation on the IBM family, receipt of the ESC[4m (turn on
underscore) command results in reverse video rather than underscore on
IBM CGA, EGA and PGA color monitors. This is a limitation of the hardware.
- In the VT102 emulation for the IBM family the ANSI printer mechanism does
not pass escape sequences to the printer. The printer receives essentially
a copy of part or all of what would be on the screen itself, without
attributes. Escape sequences are passed to the printer, however, by the
LOG command and when the printer copying is toggled ON while in connect mode.
- On some systems, the message "Undefined baud rate" may appear when program
is started. This just means you should issue a SET SPEED command.
- Semicolons can not be used in filenames in GET commands from TAKE files,
because within TAKE files, semicolons are treated as the start of a comment.
- Caution should be used when invoking certain terminate-and-stay-resident
programs while PUSHed from Kermit (e.g. using the PRINT command for the first
time), as not all of these programs observe proper etiquette for allocating
and freeing memory.
- Each command macro definition is limited to 128 characters in length.
Longer macros can be formed by chaining (end one definition with a DO
for the next).
- On early (original motherboard & BIOS) PCs, and on systems that mimic them
(e.g. Compaq), the cursor may assume a strange shape upon return from
CONNECT. This is caused by a bug in the early BIOS, which stored cursor
attributes incorrectly. See message below for further information.
- MS-DOS Kermit cannot read commands from a .BAT file. It only reads them
from the keyboard. It may be run in the batch, but only using command
line arguments (possibly invoking TAKE files). MS-Kermit 2.29 issues a
return code of 0 upon completion.
- Clearing a macro by typing an empty DEFINE for it removes its definition
but does not remove its name from the macro table.
- There's no way to remove a key redefinition and restore the default,
you must SET KEY explicitly to the desired value.
- No option for sending filenames with a path descriptor attached implicitly;
backing up a directory tree with a single SEND command is an example.
Exported filenames may contain an explicitly typed path prefix.
- SET DEST DISK does not redirect output of REMOTE commands to disk -- they
still come to the screen. Anyway, there's no syntax for specifying a file
name.
- Kermit can send the command REMOTE KERMIT [command], but it does not support
its reception (while in server mode).
- The PCjr uses Port 2 (its RS-232 port) by default, and there is no support
for its modem port (COM1). Similarly for the PC Convertible. (This is
expected to be improved in release 2.30)
- Generic Kermit uses DISPLAY SERIAL as its startup default, because it has
no knowledge of how to control the display of a "generic" MS-DOS system.
- You can't "delete *.*" from within Kermit.
- SET LOCAL-ECHO ON doesn't work very well between two micros -- LF is not
supplied by remote micro when it receives CR. Workaround: Type CR and ^J
at the end of each line.
- IBM PC has misc minor problems in H19 emulation (ENQ response, etc).
INCOMPATIBILITIES WITH PREVIOUS RELEASES:
- SET HEATH gone, replaced by SET TERMINAL { NONE, HEATH, VT52, VT102 }
- SET AUTOWRAP gone, replaced by SET TERMINAL WRAP
- SET REMOTE ON/OFF complemented by SET DISPLAY QUIET/REGULAR/SERIAL.
SET REMOTE ON is the same as SET DISPLAY QUIET. SERIAL shows file transfer
statistics in a simple form suitable for printing or speech synthesizers.
- Filename completion (recognition) no longer works, because of new support
for fully qualified DOS 2.0 pathnames.
PLANS:
There are two major goals for future releases, and work on them might proceed
in parallel.
- Integrate MS-DOS Kermit with C-Kermit. When that is done, most of the bugs
and limitations related to protocol and command parsing should disappear, and
new protocol features like sliding windows and extended length packets can be
added easily. The plan is to write ckdtio and ckdfio (d for DOS) modules to
supply the system-dependent functions, and to keep the current assembly
language terminal emulation code so as not to sacrifice the good i/o
performance (interrupt driven), terminal emulation, screen rollback, key
redefinition, printer control, and other features that we have now.
- Missing features still need to be added to MASM version.
Version 2.29B includes the following new features:
TRANSMIT command for raw file upload
Login scripts, as described in the Kermit book
VT102 ANSI printer control
Control over display of 8-bit characters during CONNECT
Extended-Length Packets
Version 2.30 will include:
File transfer statistics report (2.30)
Ability of IBM version to use NETBIOS asynchronous communication server
A way to assign Kermit functions (scroll, etc) to arbitrary keys (2.30)
WARNING: The key definition commands to be supplied with version 2.30, because
of their expanded flexibility, will be incompatible in some ways with their
counterparts in earlier releases. Command files containing SET KEY commands
may have to be modified. A conversion guide will be supplied.
Future releases may include:
An expanded script facility, with variables, conditional branching, etc.
DIAL command, telephone directory
Transaction file logging
A way to accept default values for omitted trailing fields in commands.
A better built-in help facility
Sliding windows transport protocol
File Attribute packets
Tektronix or other graphics terminal emulation (already in TI Pro & Victor)
Pause at end of screen during local TYPE
A simple way to make Alt = Meta, without many many SET KEY commands
Redefinable keys at Kermit-MS> prompt level
Piped operation a la UNIX (e.g. compress foo.bar | kermit send)
Some of the missing features will come when integration with C Kermit
takes place.
IMPLEMENTATION NOTES (from JRD):
- Kermit requires from 65 to 100 K bytes of non-contiguous memory to run:
60+ K bytes contiguous plus several other large blocks dynamically
allocated by DOS. Space is left for a second copy of Command.com by
sacrificing screen roll back space (the memory beyond 65 Kb above).
- Kermit captures only the Control-Break interrupt, Int 23H and the DOS
Critical Error interrupt, Int 24H.
- Kermit does not probe the keyboard typeahead buffer.
- The VT102 emulator in IBM Kermit writes directly to screen memory but does so
in a "TopView Aware" manner to successfully run in windowing environments
such as TopView, Windows, and DESQview. It accepts text pasted from a window.
- Kermit is aware of the IBM Monochrome, CGA, and EGA display adaptors.
- Kermit expects the video mode to be TEXT, not graphics.
- Kermit makes many Bios calls, principally to the screen and keyboard.
- All disk filenames are heavily checked; disk i/o uses only DOS calls.
- Kermit directly accesses the serial port UART 8250 chip and that port
is interrupt driven for received characters. DTR and RTS are left
high when Kermit exits but otherwise the port state is restored.
- The Hangup command will force DTR and RTS to be low (off).
- Awareness of the IBM PC Network adaptor is present but deactivated.
------------------------------
Date: 7 FEB 86 10:51-MST
From: JRD@USU
Subject: Dashed Cursor Problem on IBM PC
In response to the minus sign as a cursor problem reported in recent Digests
the PC Tech Journal article discussing the problem is "The Dashed Cursor",
by Paul Pierce, PC Tech J., Dec. 1985, page 47. His code goes like this:
;
; Program FIXCURS.ASM by Paul Pierce, PC Tech Journal, Dec 1985, page 47.
;
code segment public 'code'
assume cs:code, ds:code, es:nothing
;
; This program is set up to be made into a COM file
;
org 100H
;
; First check for the monochrome adapter.
;
start: int 11H ; set ax = equipment flag
and al,30H ; mask off all but video bits
cmp al,30H ; test for monochrome adapter
jne exit ; jump if not monochrome
;
; Now check for incorrect cursor mode returned from the Bios
;
mov ah,3 ; call bios to get cursor type
int 10H ;
cmp cx,0607H ; check for invalid (color) type
jne exit ; jump if not a bad value
;
; At this point we know that the monochrome adapter is in use and that
; the bios cursor mode is incorrect.
; Call the bios to set the cursor type correctly.
;
mov cx,080cH ; use correct cursor type
mov ah,1 ; call bios to set cursor type
int 10H
exit: mov ah,0 ; exit back to DOS
int 21H
code ends
end start
------------------------------